home *** CD-ROM | disk | FTP | other *** search
- /* readhc.c - read hard-coded
- by marty balash
- 03/02/91
- how to read an image from code created by CIMAGE.EXE
- */
- #include <graphics.h>
- #include <alloc.h>
- #include <fcntl.h>
- #include <sys/stat.h>
- #include <string.h>
- #include <io.h>
-
- /* ******* START OF CODE GENERATED BY CIMAGE.EXE ******* */
- unsigned char testhdr[] =
- {
- 80,
- 67,88,50,66,71,73,0,158,4,16,7,8,1,9,25,32,4,36,9,11,27,16,
- 16,2,18,63,15
- };
- unsigned char test[] =
- {
- 49,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,255,255,255,255,255,255,192,127,255,255,255,255,255,128,
- 127,255,255,255,255,255,128,16,132,33,8,66,16,128,202,82,148,165,41,74,64,127,
- 255,255,255,255,255,128,120,15,1,140,127,255,128,79,242,254,247,169,74,0,160,9,
- 0,0,20,165,64,120,15,1,140,127,255,128,120,2,0,0,31,255,128,32,13,1,
- 140,116,165,0,151,240,254,115,130,16,192,120,6,1,140,127,255,128,120,0,0,0,
- 31,255,128,19,230,125,173,98,16,128,207,249,254,115,137,74,64,120,198,1,128,127,
- 255,128,120,0,0,0,31,255,128,75,246,193,179,105,74,0,167,57,254,127,148,165,
- 64,120,198,31,128,127,255,128,120,0,0,0,31,255,128,35,230,223,158,116,165,0,
- 151,57,224,127,130,16,192,120,6,31,192,255,255,128,120,0,0,0,31,255,128,19,
- 230,223,204,226,16,128,207,249,224,63,9,74,64,120,14,31,225,255,255,128,120,0,
- 7,128,31,255,128,75,14,220,237,233,74,0,167,241,226,30,20,165,64,120,126,31,
- 128,127,255,128,120,0,0,128,31,255,128,35,126,223,30,116,165,0,151,129,224,127,
- 130,16,192,120,126,0,128,127,255,128,120,2,192,3,31,255,128,19,124,0,176,98,
- 16,128,207,131,63,124,137,74,64,120,126,0,140,127,255,128,120,30,0,0,31,255,
- 128,75,114,126,173,105,74,0,167,137,255,115,148,165,64,120,127,0,140,127,255,128,
- 120,30,0,0,31,255,128,32,105,0,140,116,165,0,151,132,255,115,130,16,192,127,
- 255,255,255,255,255,128,120,31,0,0,31,255,128,23,228,255,255,226,16,128,200,18,
- 0,0,9,74,64,127,255,255,255,255,255,128,126,7,192,32,1,255,128,75,250,191,
- 255,255,74,0,164,1,64,0,0,165,64,127,231,224,240,65,255,128,127,193,224,48,
- 0,127,128,37,39,64,208,65,165,0,144,152,63,15,190,16,192,127,199,224,112,1,
- 255,128,127,193,224,16,0,127,128,16,134,46,103,29,144,128,202,120,159,143,254,74,
- 64,127,199,224,112,1,255,128,127,193,224,16,0,127,128,74,86,137,101,181,202,0,
- 165,57,95,159,254,37,64,127,199,224,112,1,255,128,127,193,224,16,0,127,128,37,
- 23,73,116,229,165,0,144,184,63,143,254,16,192,127,199,224,48,1,255,128,127,193,
- 224,0,0,127,128,16,150,47,180,69,144,128,202,120,159,207,254,74,64,127,199,224,
- 49,17,255,128,127,193,232,4,68,127,128,74,86,129,177,17,202,0,165,57,87,202,
- 170,37,64,127,199,226,49,17,255,128,127,192,32,0,0,127,128,37,23,202,181,21,
- 165,0,144,184,61,206,238,16,192,127,192,32,49,241,255,128,127,192,0,0,0,127,
- 128,16,144,40,181,245,144,128,202,127,223,206,14,74,64,127,192,32,49,241,255,128,
- 127,192,0,0,64,127,128,74,95,175,53,181,202,0,165,63,223,206,14,37,64,127,
- 192,32,113,241,255,128,127,192,0,0,112,127,128,37,0,32,113,145,165,0,144,191,
- 223,142,78,16,192,127,255,255,255,255,255,128,127,192,0,0,112,127,128,16,191,255,
- 255,207,144,128,202,64,0,0,32,74,64,127,255,255,255,255,255,128,127,240,0,28,
- 4,15,128,74,95,255,231,251,250,0,165,32,0,16,4,5,64,127,255,240,124,7,
- 15,128,127,255,240,28,1,3,128,37,41,64,112,6,13,0,144,132,47,139,248,240,
- 192,127,255,240,60,7,15,128,127,255,247,140,1,3,128,16,132,32,57,246,108,128,
- 202,82,152,71,249,242,64,127,255,240,60,7,15,128,127,255,240,12,1,3,128,74,
- 82,148,181,7,110,0,165,41,79,195,248,241,64,127,255,240,60,127,15,128,127,255,
- 240,12,1,3,128,37,41,68,177,126,109,0,144,132,47,203,128,240,192,127,255,240,
- 28,71,15,128,127,255,240,4,1,3,128,16,132,39,153,70,108,128,202,82,159,231,
- 185,242,64,127,255,240,28,67,15,128,127,255,240,4,0,3,128,74,82,148,221,75,
- 110,0,165,41,79,227,188,241,64,127,255,241,28,99,15,128,127,255,240,4,0,3,
- 128,37,41,69,89,107,109,0,144,132,46,227,156,240,192,127,255,240,28,3,15,128,
- 127,255,240,4,0,3,128,16,132,36,89,11,108,128,202,82,159,231,252,242,64,127,
- 255,240,28,3,15,128,127,255,247,197,248,99,128,74,82,144,28,3,14,0,165,41,
- 72,34,4,145,64,127,255,240,60,7,15,128,127,255,240,4,0,3,128,37,41,64,
- 56,7,13,0,144,132,47,195,248,240,192,127,255,255,255,255,255,128,127,255,240,4,
- 0,3,128,16,132,47,251,255,252,128,202,82,144,4,0,2,64,127,255,255,255,255,
- 255,128,127,255,252,15,1,195,128,74,82,151,245,255,126,0,165,41,72,2,0,129,
- 64,127,255,255,255,255,255,128,127,255,255,255,255,255,128,37,41,74,82,148,165,0,
- 144,132,33,8,66,16,192,127,255,255,255,255,255,128,127,255,255,255,255,255,128,16,
- 132,33,8,66,16,128,202,82,148,165,41,74,64,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,192,0,0
- };
- /* ******* END OF CODE GENERATED BY CIMAGE.EXE ******* */
-
- struct IMAGEHDR{
- char id[8];
- unsigned size;
- struct palettetype palette;
- }hdr;
-
- main()
- {
- if(!openegascreen()){
- puts("Can't open EGA screen");
- exit(255);
- }
- if(readhdr())
- putimage(300,150,test,COPY_PUT);
- getch();
- closegraph();
- }
-
- readhdr()
- {
- memcpy(&hdr,testhdr,sizeof(hdr));
- if(strcmp("PCX2BGI",hdr.id)!=0)
- return(0);
- setallpalette(&hdr.palette);
- return(1);
- }
-
- openegascreen()
- {
- int driver = EGA;
- int mode = EGAHI;
- int result;
-
- if (registerbgidriver(EGAVGA_driver)<0){
- printf("ERROR: Graphics System\n");
- return(0);
- }
- initgraph(&driver,&mode,"");
- result=graphresult();
- if (result!=grOk) {
- printf("ERROR : %s\n",grapherrormsg(result));
- return(0);
- }
- return(1);
- }
-
-